In the computer industry, the Advanced Configuration power Interface (ACPI) is an industry standard specification that includes a set of methodologies and tables that allows an operating system (OS) of a computer system to be “abstracted from” the hardware of the computer system. In other words, the ACPI specification describes how the OS can perform certain functions related to hardware, such as powering off or powering down the computer system. For the power-down feature, thus, the OS issues an ACPI-specific message instructing the computer system to shut the power down or to go into a sleep mode.
To take advantage of the ACPI features, an ACPI-compliant computer system 100 must have an ACPI-compliant OS 102 and an ACPI-compliant hardware 104, as illustrated in FIG. 1. ACPI-compliant OSs may adopt some or all of the ACPI features. ACPI-compliant OSs generally include recent versions of many common OSs, such as Windows 2000 and XP™. The ACPI-compliant hardware is generally incorporated in integrated circuits commonly known as “super I/O chips” and “southbridges.”
Prior to adoption of the ACPI specification, a power switch directly controlled a power supply to turn on and off electrical power in a computer system. No software was involved in turning on and off the electrical power.
The ACPI-compliant computer system 100 that includes the power-down feature, however, does not allow a power switch 106 to directly control a power supply 108. Instead, when the power switch 106 is toggled on and off while the computer system 100 is on, the power switch generates a “power-off” signal, which causes a System Control Interrupt (SCI) signal to be generated within the computer system 100. An SCI interrupt handler is then invoked within the OS 102. The OS 102 thus begins a “graceful” shutdown in which any open programs are properly closed before electrical power is turned off or reduced. The OS 102 sends an ACPI message to the ACPI hardware 104 to shut down the computer system 100. However, if the OS 102 has stopped responding (i.e. the computer system is “locked up” or has “crashed”), then the OS 102 will not be able to respond to the SCI signal. In this case, for an immediate shutdown, a user can hold the power switch 106 on in order to generate the power-off signal continuously for a period of time (about a four-second delay period). When the ACPI hardware 104 receives the power-off signal continuously for the period of time or receives the message from the OS 102 to shut down the computer system 100, then the ACPI hardware 104 causes the power supply 108 to turn off or turn down.
In some ACPI compliant Operating Systems, the user can configure the ACPI power control features of the computer system 100. In particular, the user can set, through the OS 102, whether the SCI signal will be generated upon operating the power switch 106. In other words, the user can disable the power switch 106 against shutdown upon a momentary activation of the power switch 106. In this manner, an accidental operation of the power switch 106 will not inadvertently begin a system shutdown of the computer system 100.
In some situations, the computer system 100 is not supposed to ever be shut down, such as in the case of a mission-critical database server or web server, which must be “always-on” for an enterprise to function. The configuration feature is, therefore, necessary to maintain the always-on status of the computer system 100. It is still possible, though, to shut down the computer by holding the power switch for the delay period, which for a mission-critical server may still be unacceptable. Additionally, non-ACPI-compliant computer systems or ACPI-compliant computer systems that don't support the power switch disable feature, even if they have the ACPI-compliant hardware 104, are vulnerable to being shut down at any time.